/*

This file is part of roomyak.

Copyright (C) 2008 Pixecur Technologies Incorporated (Esotera).
Visit Esotera at http://www.esoteras3.com
 
roomyak is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
 
roomyak is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with roomyak; see the file COPYING.  If not, write to 
Pixecur Technologies, 213-31 Peet Street, St. John's, NL, A1B 3W8. 
 
Linking this library statically or dynamically with other modules is
making a combined work based on this library.  Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
 
*/

package com.datasentinel.util.collections;

import java.util.ListIterator;


public class ReadOnlyListIteratorImpl<E> extends ReadOnlyIteratorImpl<E> implements ListIterator<E>, ReadOnlyListIterator<E>
{

	private ListIterator<E> listIterator; 
	
	ReadOnlyListIteratorImpl(ListIterator<E> listIterator)
	{
		super(listIterator);
	}

	@Override
	public void add(E e)
	{
		throw new UnsupportedOperationException("Read/Only List iterator does not support adding.");
	}

	/* (non-Javadoc)
	 * @see com.datasentinel.util.collections.ReadOnlyListIterator#hasPrevious()
	 */
	@Override
	public boolean hasPrevious()
	{
		return listIterator.hasPrevious();
	}

	/* (non-Javadoc)
	 * @see com.datasentinel.util.collections.ReadOnlyListIterator#nextIndex()
	 */
	@Override
	public int nextIndex()
	{
		return listIterator.nextIndex();
	}

	/* (non-Javadoc)
	 * @see com.datasentinel.util.collections.ReadOnlyListIterator#previous()
	 */
	@Override
	public E previous()
	{
		return listIterator.previous();
	}

	/* (non-Javadoc)
	 * @see com.datasentinel.util.collections.ReadOnlyListIterator#previousIndex()
	 */
	@Override
	public int previousIndex()
	{
		return listIterator.previousIndex();
	}

	@Override
	public void set(E e)
	{
		throw new UnsupportedOperationException("Read/Only List iterator does not support setting.");
	}


}
